package com.jzo2o.common.utils;

/**
 * 坐标处理工具类，提供经纬度反转、格式化等功能
 */
public class LocationUtils {


    /**
     * 反转经纬度顺序（默认以逗号分隔）
     * @param location 经纬度字符串（格式："纬度,经度" 或 "经度,纬度"）
     * @return 反转后的经纬度字符串；参数无效时返回原字符串
     */
    public static String reversLatLon(String location) {
        return reversLatLon(location, ",");
    }

    /**
     * 反转经纬度顺序（支持自定义分隔符）
     * @param location 经纬度字符串
     * @param symbol 分隔符（如逗号、空格等）
     * @return 反转后的经纬度字符串；参数无效时返回原字符串
     */
    public static String reversLatLon(String location, String symbol) {
        if (StringUtils.isEmpty(location) || StringUtils.isEmpty(symbol)) {
            return location;
        }
        String[] locationSplit = location.split(symbol);
        if (locationSplit.length != 2) {
            return location;
        }
        return locationSplit[1] + symbol + locationSplit[0];
    }

    /**
     * 将数字类型的经纬度转换为字符串格式（经度,纬度）
     * @param lon 经度
     * @param lat 纬度
     * @return 格式化后的经纬度字符串；经纬度为空时返回null
     */
    public static String getLocation(Double lon, Double lat) {
        if (lon == null || lat == null) {
            return null;
        }
        return String.format("%s,%s", lon, lat);
    }

}
